# -*- coding: utf-8 -*-
from regex import regex_or
import entity as E 

rus_abc = u'йцукенгшщзхъфывапролджэячсмитьбюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮЁё'
eng_abc = u'A-Za-z'
any_letter = rus_abc + eng_abc
non_letter = u'[^%s]' % any_letter
punctiation = u'[?!:,]'

htmltag = u'(?:<[^>]*>)'
hellip = u'\.{2,5}'
    
phrase_begin = regex_or(
    hellip,
    E.hellip,
    u'\w',
    u'\n',
    # any_letter,  # eq to \w
)

phrase_end = regex_or(
    u'[)!?.:;#*\\\]',
    u'$',
    u'\w',    
    E.rquote,
    E.rquote2,
    u'&quot;',
    u'"',
    u"'",
    hellip,
    E.hellip,        
    E.copy,
    E.trade,
    E.apos,
    E.reg,
    # any_letter, # eq to \w
)

lquote = regex_or(
    E.lquote,
    E.lquote2,    
    u'"',        
    u'&quot;',
)    

rquote = regex_or(
    E.rquote,
    E.rquote2,    
    u'"',        
    u'&quot;',
)    

any_quote = regex_or(
    E.lquote,
    E.lquote2,
    E.rquote,
    E.rquote2,
    u'&quot;',
    u'"',        
)

abbr = ( 
    u'ЗАО|'
    u'ИП|'
    u'НИИ|НПФ|'
    u'ОАО|ООО|'
    u'ЧП'
)

prepos = (
    u'а|'
    u'без|безо|'
    u'в|во|вне|'
    u'да|для|до|'
    u'ещё|'
    u'за|'
    u'и|или|из|изо|их|или|'
    u'к|как|ко|'
    u'меж|между|'
    u'на|не|ни|но|над|надо|'
    u'о|об|обо|от|ото|около|'
    u'при|перед|передо|по|под|подо|пред|предо|про|'
    u'с|со|сквозь|'
    u'там|то|'
    u'у|уж|'
    u'через|что|'
    u'я'
)

metrics = (
    u'б|'
    u'г|гб|'
    u'кб|кг|км|'
    u'м|мб|мг|мм|' 
    u'см'
)    
   
shortages = (
    u'[гГ]|гр|'
    u'д|'
    u'м|'
    u'пос|'
    u'c|'
    u'тов|'
    u'ул|'
    u'пер'
)

particles = (
    u'б|бы|'
    u'ж|же|'
    u'или|'
    u'ли|либо|ль'
)
